package com.yt.setclaim.models.entity;

import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;

@Data
@TableName("claim_info")
public class ClaimInfo {
    /**
     * 索赔记录唯一ID
     */
    @TableId(value = "claim_id", type = IdType.AUTO)
    private Integer claimId;

    /**
     * 保单ID（关联insurance_policy表）
     */
    private Integer policyId;

    /**
     * 投保人ID（关联user表）
     */
    private Long userId;

    /**
     * 索赔申请单编号（需求3.1.6）
     */
    private String claimNo;

    /**
     * 出险时间（需求3.1.6）
     */
    private Date accidentTime;

    /**
     * 出险原因ID（关联sys_attribute，attr_name=出险原因）
     */
    private Integer reasonAttrId;

    /**
     * 就诊医院名称（二甲及以上，需求3.1.6）
     */
    private String hospitalName;

    /**
     * 就诊时间（需求3.1.6）
     */
    private Date treatmentTime;

    /**
     * 诊断结果（需求3.1.6）
     */
    private String diagnosisResult;

    /**
     * 治疗费用总金额（需求3.1.6）
     */
    private BigDecimal treatmentAmount;

    /**
     * 开户行（需求3.1.6）
     */
    private String bankName;

    /**
     * 银行账号（需求3.1.6）
     */
    private String bankAccount;

    /**
     * 开户名（与投保人一致，需求3.1.6）
     */
    private String accountName;

    /**
     * 索赔材料存储路径（多个URL用逗号分隔，如诊断证明、费用清单）
     */
    private String claimMaterials;

    /**
     * 索赔材料数量（至少1份，需求3.1.6）
     */
    private Byte materialCount;

    /**
     * 索赔状态ID（关联sys_attribute，默认=待审核）
     */
    private Integer statusAttrId;

    /**
     * 创建时间
     */
    private Date createTime;

    /**
     * 更新时间
     */
    private Date updateTime;

    /**
     * 逻辑删除（0=正常，1=删除）
     */
    @TableLogic
    private Integer isDelete;
}